---
title: Routers
x-toc-enable: true
...

Introduction
============

Routing freedom is a big deal. We don't yet have it in every country,
but did you know? So long as you have an internet connection, you can
always *tunnel* static IPv4 and IPv6 subnets to your own home.
You could even do this on your mobile phone, running a USB tether sharing
4G LTE, to say, a Raspberry Pi; that Raspberry Pi would then be a gateway
router for ethernet, running NAT and DHCP, for you to then plug in an L2TP/VPN
tunnel router, static route connecting to your tunnel provider via that
gateway, routing static IPs through the tunnel, and the default route set to
that tunnel when it's online.

The focus here will be on custom routers running your own configuration of
a Linux or BSD system, but off the shelf solutions like *pfSense* and OpenWRT
could also be covered in the future, as these do offer some port forwarding and
tunnel capabilities.

Much more information is needed, written as tutorials here. One of the most
common hurdles people face for self-hosting is static IP subnets, or lack
thereof. We should cover every ISP in the world, here, where ISP-specific
guides are desirable; in other cases, we can tell people how to tunnel around
their main ISP, to some other ISP that grants more freedoms.

SSH port forwarding on any Linux/BSD
====================================

NOTE: TCP only.

* TODO: SSH port forwarding guide.

PPP over L2TP (tunnel)
=============

These guides will teach you how to host services behind
static IP addresses, anywhere in the world, even if your
ISP doesn't assign static IPs. This is similar to a typical
VPN service.

Debian (probably works on Devuan):

* [L2TP tunnel router via Andrews & Arnold Ltd (A&A,
  AAISP)](debian-l2tp-aaisp.md)

PPP over Ethernet (hardline)
=================

This can apply to many different physical internet setups, e.g. ADSL, VDSL,
FTTP. In this setup, the ISP typically provides you with a physical link, and
some sort of modem or ONT doing signal conversions, terminating in RJ-45 and
ethernet where you plug in a router that does PPPoE.

In some cases, your ISP may assign a router+modem combined in one unit, but
that device may support a *bridge* mode where it acts only as a modem.

PPPoE is a common method by which subscribers connect to their ISP. Some
ISPs provide static IPv4 and/or IPv6 addresses natively, with the intent to
let their customers run servers. If your ISP allows this, whenever you are
in the world, please consider writing a guide and submitting it to Fedfree.

We will cover here, only those ISPs worth covering. Specifically, this means
those ISPs that provide static IPv4 and IPv6 subnets, permitting you to run
internet-facing servers directly. This is *rare*, especially for home internet
services, but some very good ISPs do exist in the world.

UK: Andrews & Arnold Ltd (A&A / AAISP)
--------------------------------------

If you're in the UK, Andrews & Arnold is one of the best ISPs available. They
provide unfiltered, unshaped service, with static IPv4 and IPv6 subnets
available. They've provided IPv6 to customers since *year 2002*, the same year
the Spiderman movie starring Tobias McGuire came out.

Guides:

* TODO: PPPoE VDSL/ADSL guide for Andrews & Arnold Ltd

NOTE: A&A also provide L2TP service, so that you can tunnel traffic via them
from another ISP.

Docsis (cable ISPs)
======

TODO

Word of caution with Docsis: higher latency and lower MTU with these types of
services, but in some cases they may be the best in terms of speed. Most of
these cable providers don't let you run servers, but you can always just make
a tunnel router.

Fun fact: in the UK, Virgin Media Business provides static IPv4 addresses on
request, but it's *crap*; they simply configure a GRE tunnel for you to use,
thus lowering your MTU for *all* internet access. It's better on that ISP, in
the UK, to use A&A's L2TP tunnel service, via dynamic IP allocation from VMB.

Here's another fun fact about VM:
<https://jamesmacwhite.medium.com/have-virgin-media-enabled-ipv6-sort-of-9443e5e855d>
